import { OmitPartial } from '/#/utils';
import { BasicPageParams, BasicModel, BasicFetchResult } from '/@/api/model/baseModel';

export interface BasicOpmsFixResidentModel {
  /**
   * 居民id
   */
  id: number;
  /**
   * 户口类型（农村，城镇）
   */
  hkType: string;
  /**
   * 组号
   */
  groupNumber: string;
  /**
   * 户口本号
   */
  hkbNumber: string;
  /**
   * 姓名
   */
  name: string;
  /**
   * 曾用名
   */
  formerName: string;
  /**
   * 户主
   */
  householder: string;
  /**
   * 户主关系
   */
  householderRelation: string;
  /**
   * 身份证
   */
  idCard: string;
  /**
   * 签发机关
   */
  issuingAuthority: string;
  /**
   * 签发日期
   */
  issuingDate: any;
  /**
   * 出生日期
   */
  birthDate: any;
  /**
   * 出生地
   */
  birthPlace: string;
  /**
   * 性别
   */
  sex: string;
  /**
   * 身高（cm）
   */
  height: number;
  /**
   * 血型（A/B/AB/O/熊猫）
   */
  bloodType: string;
  /**
   * 健康状况
   */
  health: string;
  /**
   * 户籍所在地
   */
  hjAddr: string;
  /**
   * 民族（汉/黎等）
   */
  nation: string;
  /**
   * 籍贯
   */
  nativePlace: string;
  /**
   * 现居地点
   */
  nowAddr: string;
  /**
   * 其他地址
   */
  otherAddr: string;
  /**
   * 联系电话
   */
  contactNumber: string;
  /**
   * 文化程度
   */
  cultureType: string;
  /**
   * 婚姻状况
   */
  maritalStatus: string;
  /**
   * 兵役状况
   */
  militaryServiceStatus: string;
  /**
   * 宗教信仰
   */
  religion: string;
  /**
   * 职业（xx）
   */
  profession: string;
  /**
   * 政治面貌
   */
  politicsStatus: string;
  /**
   * 备注
   */
  remark: string;
  /**
   * 户籍状态
   */
  hjStatus: string;
  /**
   * 登记日期
   */
  registDate: string;
  /**
   * 家庭id
   */
  familyId: number;
  /**
   * 是否困难群体
   */
  isDifficultGroup: boolean;
  /**
   * 年龄
   */
  age: number;
  /**
   * 就业状况（失业、在业）
   */
  employmentStatus: string;
  /**
   * 是否残疾（0-false 1-true）
   */
  isDisability: boolean;
  /**
   * 残疾等级（A/B/C/暂无等）
   */
  disabilityLevel: string;
}
/**
 * 后台开启id序列化时id类型为字符串，如果没开启id类型就是number,此处用一个动态类型代替，方便生成；
 */
export type OpmsFixResidentIDType = BasicOpmsFixResidentModel['id'];

export type UpdateOpmsFixResidentParams = OmitPartial<BasicOpmsFixResidentModel, 'id'>;

export type OpmsFixResidentParams = Partial<BasicOpmsFixResidentModel>;

export type OpmsFixResidentPageSearchParams = BasicPageParams & OpmsFixResidentParams;

export type OpmsFixResidentListSearchParams = OpmsFixResidentParams;

export type OpmsFixResidentModel = BasicModel & BasicOpmsFixResidentModel;

export type OpmsFixResidentPageListGetResultModel = BasicFetchResult<OpmsFixResidentModel>;

export type OpmsFixResidentListGetResultModel = OpmsFixResidentModel[];
